package cn.tedu.sims.service;

import cn.tedu.sims.pojo.dto.*;
import cn.tedu.sims.pojo.entity.User;
import cn.tedu.sims.pojo.vo.ReportingUserVO;
import cn.tedu.sims.pojo.vo.UserRoleVO;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
@Transactional
public interface IReportingUserService {
    List<ReportingUserVO> list();

    List<ReportingUserVO> listStateId();

    List<ReportingUserVO> listCheckPending();

    List<ReportingUserVO> selectUserHaHa(ReportingUserHaHaDTO userHaHa);

    UserRoleVO selectUserParticulars(Long id);

    User selectById(int id);

    void updatePassword(UpdatePasswordDTO updatePassword);

    void updateStateId(Long id);

    void updateStateIda(Long id);

    /**
     * 删除用户数据
     * @param id 尝试删除用户的id
     */
    void delete(Long id);

    void updateInfoById(Long id, UserRoleDTO userRoleDTO);

    void updateStatus(UpdateStatusDTO updateStatusDTO);

    void userUpdates(Long id);

    void rejected(ProjectRejectDTO projectRejectDTO);
}
